home *** CD-ROM | disk | FTP | other *** search
- IBM PC Jr graphics system:
-
-
-
- 3D4h (W): Index register.
- The value written to this register selects which of the data
- registers will be accessed at 3D5h.
-
- 3D4h index 00h (W): Horizontal Total Register
- Bit 0-7 Number of characters (-1) in a scan line incl. retrace.
-
- 3D4h index 01h (W): Horizontal Displayed Register
- Bit 0-7 Number of characters (-1) displayed during a scan line.
-
- 3D4h index 02h (W): Horizontal Sync Position Register
- Bit 0-7 Number of characters displayed before Horizontal Sync pulse starts.
-
- 3D4h index 03h (W): Horizontal Sync Width Register
- Bit 0-7 Number of character clocks during a Horizontal Sync pulse.
-
- 3D4h index 04h (W): Vertical Total Register
- Bit 0-6 Number of character rows in a frame. This is adjusted by the number
- of scanlines in a character (index 9) and the Vertical Adjust (index
- 5).
-
- 3D4h index 05h (W): Vertical Total Adjust Register
- Bit 0-3 Number of scanlines added to the Vertical Total time.
-
- 3D4h index 06h (W): Vertical Displayed Register
- Bit 0-6 Number of character rows displayed per frame.
-
- 3D4h index 07h (W): Vertical SyncPosition Register
- Bit 0-6 Number of character rows displayed before the Vertical Sync pulse
- starts.
-
- 3D4h index 08h (W): Interlace Mode Register
-
- 3D4h index 09h (W): Maximum Scan Line Register
- Bit 0-3 Number of scanlines (-1) in a character row.
-
- 3D4h index 0Ah (W): Cursor Start Register
- Bit 0-4 The scanline (starting from 0) within the character where the
- cursor starts.
- 5-6 Cursor Attributes:
- 0,2: Cursor is blinking at the blink rate.
- 1: Cursor is turned off.
- 3: Cursor is blinking at half the blink rate.
- The default blink rate is 1/16 of the frame rate (8 frames on, 8
- off).
-
- 3D4h index 0Bh (W): Cursor End Register
- Bit 0-4 The scanline (starting from 0) within the character where the
- cursor ends. If the start position (index 0Ah) is larger than this
- value, no cursor is shown.
-
- 3D4h index 0Ch (W): Start Address High Register
- Bit 0-5 The upper 6 bits of the address of the start of the display.
- The lower 8 bits are in index 0Dh.
-
- 3D4h index 0Dh (W): Start Address Low Register
- Bit 0-7 The lower 8 bits of the address of the start of the display.
- The upper 6 bits are in index 0Ch.
-
- 3D4h index 0Eh (W): Cursor Location High Register
- Bit 0-5 The upper 6 bits of the address of the start of the cursor.
- The lower 8 bits are in index 0Fh.
-
- 3D4h index 0Fh (W): Cursor Location Low Register
- Bit 0-7 The lower 8 bits of the address of the start of the cursor.
- The upper 6 bits are in index 0Eh.
-
- 3DAh (R):
- bit 0 Display Active.
- 1 Light Pen Trigger.
- 2 Light Pen Switch.
- 3 Vertical Retrace active if set
- 4 Video Dots.
-
- 3DAh (W): VGA registers
- The indexed VGA (Video Gate Array) registers are accessed by reading 3DAh,
- then writing the index to 3DAh and finally writing the data to 3DAh
-
- 3DAh index 00h (W): Mode Control 1 Register
- bit 0 ?
- 1 ?
- 2 ?
- 3 ?
- 4 ?
-
- 3DAh index 01h (W): Palette Mask Register
- bit 0-3 Palette mask. Guess: 1 in 2color modes, 3 in 4 color modes and 15
- in 16color & text modes ? (ANDed with the pixel?)
-
- 3DAh index 02h (W): Border Color Register
- bit 0-3 Border color in IRGB format (bit0 is Blue)
-
- 3DAh index 03h (W): Mode Control 2 Register
- bit 1 Enable Blink if set, disable if clear
- 3 Set in 640x200 2color mode, clear in all other modes
-
- 3DAh index 04h (W): Reset Register
- bit 0 ?
- 1 ?
-
- 3DAh index 10h-1Fh (W): Palette Array Entry 0-15
- bit 0-3 Palette entry in IRGB format. Bit 0 is blue and bit 3 is intensity.
- The text & 16color modes use all 16 entries, the 4 color modes use
- entries 0-3 and the 2 color modes only use entries 0-1.
-
- 3DFh (R/W):
- bit 0-2 Identifies the page of main memory being displayed in units of 16K.
- 0: 0K, 1: 16K...7: 112K. In 32K modes (bits 6-7 = 2) only 0,2,4 and
- 6 are valid, as the next page will also be used.
- 3-5 Identifies the page of main memory that can be read/written at B8000h
- in units of 16K. 0: 0K, 1: 16K...7: 112K. In 32K modes (bits 6-7 = 2)
- only 0,2,4 and 6 are valid, as the next page will also be used.
- 6-7 Display mode. 0: Text, 1: 16K graphics mode (4,5,6,8)
- 2: 32K graphics mode (9,Ah)
-
- Video modes (set via INT 10h with AX=mode#):
-
- 00h T 40 25 mono
- 01h T 40 25 color
- 02h T 80 25 mono
- 03h T 80 25 color
- 04h G 320 200 4 color
- 05h G 320 200 4 mono
- 06h G 640 200 2 color
- 08h G 160 200 16 color
- 09h G 320 200 16 color
- 0Ah G 640 200 4 color
-
- The text modes are similar to MDA/Hercules/CGA/EGA/VGA text modes.
-
- The graphics modes resemble CGA modes. The pixels are packed 2/4/8 in each
- byte with the lowest pixel in the highest bits. The display memory is split 2
- or 4 ways, with modes 5-8 having even scanlines in the first 8K and odd lines
- in the next 8K, and modes 9,0Ah split into 4 banks based on the two lowest
- bits of the scanline number (Scanline 0,4,8.. are in the first 8K, line 1,5,9
- .. in the 2nd 8K, line 2,6,10 in the 3rd and line 3,7,11 in the last 8K bank).
-